<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GtkBuildable: GTK+ 3 Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="GTK+ 3 Reference Manual">
<link rel="up" href="Builder.html" title="Interface builder">
<link rel="prev" href="GtkBuilder.html" title="GtkBuilder">
<link rel="next" href="WindowWidgets.html" title="Windows">
<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
                  <a href="#GtkBuildable.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
                  <a href="#GtkBuildable.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_prerequisites">  <span class="dim">|</span> 
                  <a href="#GtkBuildable.prerequisites" class="shortcut">Prerequisites</a></span><span id="nav_implementations">  <span class="dim">|</span> 
                  <a href="#GtkBuildable.implementations" class="shortcut">Known Implementations</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="Builder.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="GtkBuilder.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="WindowWidgets.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="GtkBuildable"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="GtkBuildable.top_of_page"></a>GtkBuildable</span></h2>
<p>GtkBuildable — Interface for objects that can be built by GtkBuilder</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="GtkBuildable.functions"></a><h2>Functions</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_proto_type">
<col class="functions_proto_name">
</colgroup>
<tbody>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkBuildable.html#gtk-buildable-set-name" title="gtk_buildable_set_name ()">gtk_buildable_set_name</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">const <span class="returnvalue">gchar</span> *
</td>
<td class="function_name">
<a class="link" href="GtkBuildable.html#gtk-buildable-get-name" title="gtk_buildable_get_name ()">gtk_buildable_get_name</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkBuildable.html#gtk-buildable-add-child" title="gtk_buildable_add_child ()">gtk_buildable_add_child</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkBuildable.html#gtk-buildable-set-buildable-property" title="gtk_buildable_set_buildable_property ()">gtk_buildable_set_buildable_property</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">GObject</span> *
</td>
<td class="function_name">
<a class="link" href="GtkBuildable.html#gtk-buildable-construct-child" title="gtk_buildable_construct_child ()">gtk_buildable_construct_child</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="GtkBuildable.html#gtk-buildable-custom-tag-start" title="gtk_buildable_custom_tag_start ()">gtk_buildable_custom_tag_start</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkBuildable.html#gtk-buildable-custom-tag-end" title="gtk_buildable_custom_tag_end ()">gtk_buildable_custom_tag_end</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkBuildable.html#gtk-buildable-custom-finished" title="gtk_buildable_custom_finished ()">gtk_buildable_custom_finished</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkBuildable.html#gtk-buildable-parser-finished" title="gtk_buildable_parser_finished ()">gtk_buildable_parser_finished</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">GObject</span> *
</td>
<td class="function_name">
<a class="link" href="GtkBuildable.html#gtk-buildable-get-internal-child" title="gtk_buildable_get_internal_child ()">gtk_buildable_get_internal_child</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GtkBuildable.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="other_proto_type">
<col class="other_proto_name">
</colgroup>
<tbody>
<tr>
<td class="datatype_keyword"> </td>
<td class="function_name"><a class="link" href="GtkBuildable.html#GtkBuildable-struct" title="GtkBuildable">GtkBuildable</a></td>
</tr>
<tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="GtkBuildable.html#GtkBuildableIface" title="struct GtkBuildableIface">GtkBuildableIface</a></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GtkBuildable.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="screen">    <a href="/usr/share/gtk-doc/html/gobject/GTypeModule.html">GInterface</a>
    <span class="lineart">╰──</span> GtkBuildable
</pre>
</div>
<div class="refsect1">
<a name="GtkBuildable.prerequisites"></a><h2>Prerequisites</h2>
<p>
GtkBuildable requires
 GObject.</p>
</div>
<div class="refsect1">
<a name="GtkBuildable.implementations"></a><h2>Known Implementations</h2>
<p>
GtkBuildable is implemented by
 <a class="link" href="GtkAboutDialog.html" title="GtkAboutDialog">GtkAboutDialog</a>,  <a class="link" href="GtkAccelLabel.html" title="GtkAccelLabel">GtkAccelLabel</a>,  <a class="link" href="GtkAction.html" title="GtkAction">GtkAction</a>,  <a class="link" href="GtkActionBar.html" title="GtkActionBar">GtkActionBar</a>,  <a class="link" href="GtkActionGroup.html" title="GtkActionGroup">GtkActionGroup</a>,  <a class="link" href="GtkAlignment.html" title="GtkAlignment">GtkAlignment</a>,  <a class="link" href="GtkAppChooserButton.html" title="GtkAppChooserButton">GtkAppChooserButton</a>,  <a class="link" href="GtkAppChooserDialog.html" title="GtkAppChooserDialog">GtkAppChooserDialog</a>,  <a class="link" href="GtkAppChooserWidget.html" title="GtkAppChooserWidget">GtkAppChooserWidget</a>,  <a class="link" href="GtkApplicationWindow.html" title="GtkApplicationWindow">GtkApplicationWindow</a>,  <a class="link" href="GtkArrow.html" title="GtkArrow">GtkArrow</a>,  <a class="link" href="GtkAspectFrame.html" title="GtkAspectFrame">GtkAspectFrame</a>,  <a class="link" href="GtkAssistant.html" title="GtkAssistant">GtkAssistant</a>,  <a class="link" href="GtkBin.html" title="GtkBin">GtkBin</a>,  <a class="link" href="GtkBox.html" title="GtkBox">GtkBox</a>,  <a class="link" href="GtkButton.html" title="GtkButton">GtkButton</a>,  <a class="link" href="GtkButtonBox.html" title="GtkButtonBox">GtkButtonBox</a>,  <a class="link" href="GtkCalendar.html" title="GtkCalendar">GtkCalendar</a>,  <a class="link" href="GtkCellArea.html" title="GtkCellArea">GtkCellArea</a>,  <a class="link" href="GtkCellAreaBox.html" title="GtkCellAreaBox">GtkCellAreaBox</a>,  <a class="link" href="GtkCellView.html" title="GtkCellView">GtkCellView</a>,  <a class="link" href="GtkCheckButton.html" title="GtkCheckButton">GtkCheckButton</a>,  <a class="link" href="GtkCheckMenuItem.html" title="GtkCheckMenuItem">GtkCheckMenuItem</a>,  <a class="link" href="GtkColorButton.html" title="GtkColorButton">GtkColorButton</a>,  <a class="link" href="GtkColorChooserDialog.html" title="GtkColorChooserDialog">GtkColorChooserDialog</a>,  <a class="link" href="GtkColorChooserWidget.html" title="GtkColorChooserWidget">GtkColorChooserWidget</a>,  <a class="link" href="GtkColorSelection.html" title="GtkColorSelection">GtkColorSelection</a>,  <a class="link" href="GtkColorSelectionDialog.html" title="GtkColorSelectionDialog">GtkColorSelectionDialog</a>,  <a class="link" href="GtkComboBox.html" title="GtkComboBox">GtkComboBox</a>,  <a class="link" href="GtkComboBoxText.html" title="GtkComboBoxText">GtkComboBoxText</a>,  <a class="link" href="GtkContainer.html" title="GtkContainer">GtkContainer</a>,  <a class="link" href="GtkDialog.html" title="GtkDialog">GtkDialog</a>,  <a class="link" href="GtkDrawingArea.html" title="GtkDrawingArea">GtkDrawingArea</a>,  <a class="link" href="GtkEntry.html" title="GtkEntry">GtkEntry</a>,  <a class="link" href="GtkEntryCompletion.html" title="GtkEntryCompletion">GtkEntryCompletion</a>,  <a class="link" href="GtkEventBox.html" title="GtkEventBox">GtkEventBox</a>,  <a class="link" href="GtkExpander.html" title="GtkExpander">GtkExpander</a>,  <a class="link" href="GtkFileChooserButton.html" title="GtkFileChooserButton">GtkFileChooserButton</a>,  <a class="link" href="GtkFileChooserDialog.html" title="GtkFileChooserDialog">GtkFileChooserDialog</a>,  <a class="link" href="GtkFileChooserWidget.html" title="GtkFileChooserWidget">GtkFileChooserWidget</a>,  <a class="link" href="GtkFileFilter.html" title="GtkFileFilter">GtkFileFilter</a>,  <a class="link" href="GtkFixed.html" title="GtkFixed">GtkFixed</a>,  <a class="link" href="GtkFlowBox.html" title="GtkFlowBox">GtkFlowBox</a>,  <a class="link" href="GtkFlowBox.html#GtkFlowBoxChild">GtkFlowBoxChild</a>,  <a class="link" href="GtkFontButton.html" title="GtkFontButton">GtkFontButton</a>,  <a class="link" href="GtkFontChooserDialog.html" title="GtkFontChooserDialog">GtkFontChooserDialog</a>,  <a class="link" href="GtkFontChooserWidget.html" title="GtkFontChooserWidget">GtkFontChooserWidget</a>,  <a class="link" href="GtkFontSelection.html" title="GtkFontSelection">GtkFontSelection</a>,  <a class="link" href="GtkFontSelectionDialog.html" title="GtkFontSelectionDialog">GtkFontSelectionDialog</a>,  <a class="link" href="GtkFrame.html" title="GtkFrame">GtkFrame</a>,  <a class="link" href="GtkGLArea.html" title="GtkGLArea">GtkGLArea</a>,  <a class="link" href="GtkGrid.html" title="GtkGrid">GtkGrid</a>,  <a class="link" href="GtkHBox.html" title="GtkHBox">GtkHBox</a>,  <a class="link" href="GtkHButtonBox.html" title="GtkHButtonBox">GtkHButtonBox</a>,  <a class="link" href="GtkHPaned.html" title="GtkHPaned">GtkHPaned</a>,  <a class="link" href="GtkHSV.html" title="GtkHSV">GtkHSV</a>,  <a class="link" href="GtkHScale.html" title="GtkHScale">GtkHScale</a>,  <a class="link" href="GtkHScrollbar.html" title="GtkHScrollbar">GtkHScrollbar</a>,  <a class="link" href="GtkHSeparator.html" title="GtkHSeparator">GtkHSeparator</a>,  <a class="link" href="GtkHandleBox.html" title="GtkHandleBox">GtkHandleBox</a>,  <a class="link" href="GtkHeaderBar.html" title="GtkHeaderBar">GtkHeaderBar</a>,  <a class="link" href="gtk3-Themeable-Stock-Images.html#GtkIconFactory">GtkIconFactory</a>,  <a class="link" href="GtkIconView.html" title="GtkIconView">GtkIconView</a>,  <a class="link" href="GtkImage.html" title="GtkImage">GtkImage</a>,  <a class="link" href="GtkImageMenuItem.html" title="GtkImageMenuItem">GtkImageMenuItem</a>,  <a class="link" href="GtkInfoBar.html" title="GtkInfoBar">GtkInfoBar</a>,  <a class="link" href="GtkInvisible.html" title="GtkInvisible">GtkInvisible</a>,  <a class="link" href="GtkLabel.html" title="GtkLabel">GtkLabel</a>,  <a class="link" href="GtkLayout.html" title="GtkLayout">GtkLayout</a>,  <a class="link" href="GtkLevelBar.html" title="GtkLevelBar">GtkLevelBar</a>,  <a class="link" href="GtkLinkButton.html" title="GtkLinkButton">GtkLinkButton</a>,  <a class="link" href="GtkListBox.html" title="GtkListBox">GtkListBox</a>,  <a class="link" href="GtkListBox.html#GtkListBoxRow">GtkListBoxRow</a>,  <a class="link" href="GtkListStore.html" title="GtkListStore">GtkListStore</a>,  <a class="link" href="GtkLockButton.html" title="GtkLockButton">GtkLockButton</a>,  <a class="link" href="GtkMenu.html" title="GtkMenu">GtkMenu</a>,  <a class="link" href="GtkMenuBar.html" title="GtkMenuBar">GtkMenuBar</a>,  <a class="link" href="GtkMenuButton.html" title="GtkMenuButton">GtkMenuButton</a>,  <a class="link" href="GtkMenuItem.html" title="GtkMenuItem">GtkMenuItem</a>,  <a class="link" href="GtkMenuShell.html" title="GtkMenuShell">GtkMenuShell</a>,  <a class="link" href="GtkMenuToolButton.html" title="GtkMenuToolButton">GtkMenuToolButton</a>,  <a class="link" href="GtkMessageDialog.html" title="GtkMessageDialog">GtkMessageDialog</a>,  <a class="link" href="GtkMisc.html" title="GtkMisc">GtkMisc</a>,  <a class="link" href="GtkModelButton.html" title="GtkModelButton">GtkModelButton</a>,  <a class="link" href="GtkNotebook.html" title="GtkNotebook">GtkNotebook</a>,  <a class="link" href="GtkOffscreenWindow.html" title="GtkOffscreenWindow">GtkOffscreenWindow</a>,  <a class="link" href="GtkOverlay.html" title="GtkOverlay">GtkOverlay</a>,  <a class="link" href="GtkPageSetupUnixDialog.html" title="GtkPageSetupUnixDialog">GtkPageSetupUnixDialog</a>,  <a class="link" href="GtkPaned.html" title="GtkPaned">GtkPaned</a>,  <a class="link" href="GtkPlacesSidebar.html" title="GtkPlacesSidebar">GtkPlacesSidebar</a>,  <a class="link" href="GtkPlug.html" title="GtkPlug">GtkPlug</a>,  <a class="link" href="GtkPopover.html" title="GtkPopover">GtkPopover</a>,  <a class="link" href="GtkPopoverMenu.html" title="GtkPopoverMenu">GtkPopoverMenu</a>,  <a class="link" href="GtkPrintUnixDialog.html" title="GtkPrintUnixDialog">GtkPrintUnixDialog</a>,  <a class="link" href="GtkProgressBar.html" title="GtkProgressBar">GtkProgressBar</a>,  <a class="link" href="GtkRadioAction.html" title="GtkRadioAction">GtkRadioAction</a>,  <a class="link" href="GtkRadioButton.html" title="GtkRadioButton">GtkRadioButton</a>,  <a class="link" href="GtkRadioMenuItem.html" title="GtkRadioMenuItem">GtkRadioMenuItem</a>,  <a class="link" href="GtkRadioToolButton.html" title="GtkRadioToolButton">GtkRadioToolButton</a>,  <a class="link" href="GtkRange.html" title="GtkRange">GtkRange</a>,  <a class="link" href="GtkRecentAction.html" title="GtkRecentAction">GtkRecentAction</a>,  <a class="link" href="GtkRecentChooserDialog.html" title="GtkRecentChooserDialog">GtkRecentChooserDialog</a>,  <a class="link" href="GtkRecentChooserMenu.html" title="GtkRecentChooserMenu">GtkRecentChooserMenu</a>,  <a class="link" href="GtkRecentChooserWidget.html" title="GtkRecentChooserWidget">GtkRecentChooserWidget</a>,  <a class="link" href="GtkRecentFilter.html" title="GtkRecentFilter">GtkRecentFilter</a>,  <a class="link" href="GtkRevealer.html" title="GtkRevealer">GtkRevealer</a>,  <a class="link" href="GtkScale.html" title="GtkScale">GtkScale</a>,  <a class="link" href="GtkScaleButton.html" title="GtkScaleButton">GtkScaleButton</a>,  <a class="link" href="GtkScrollbar.html" title="GtkScrollbar">GtkScrollbar</a>,  <a class="link" href="GtkScrolledWindow.html" title="GtkScrolledWindow">GtkScrolledWindow</a>,  <a class="link" href="GtkSearchBar.html" title="GtkSearchBar">GtkSearchBar</a>,  <a class="link" href="GtkSearchEntry.html" title="GtkSearchEntry">GtkSearchEntry</a>,  <a class="link" href="GtkSeparator.html" title="GtkSeparator">GtkSeparator</a>,  <a class="link" href="GtkSeparatorMenuItem.html" title="GtkSeparatorMenuItem">GtkSeparatorMenuItem</a>,  <a class="link" href="GtkSeparatorToolItem.html" title="GtkSeparatorToolItem">GtkSeparatorToolItem</a>,  <a class="link" href="GtkShortcutsGroup.html" title="GtkShortcutsGroup">GtkShortcutsGroup</a>,  <a class="link" href="GtkShortcutsSection.html" title="GtkShortcutsSection">GtkShortcutsSection</a>,  <a class="link" href="GtkShortcutsShortcut.html" title="GtkShortcutsShortcut">GtkShortcutsShortcut</a>,  <a class="link" href="GtkShortcutsWindow.html" title="GtkShortcutsWindow">GtkShortcutsWindow</a>,  <a class="link" href="GtkSizeGroup.html" title="GtkSizeGroup">GtkSizeGroup</a>,  <a class="link" href="GtkSocket.html" title="GtkSocket">GtkSocket</a>,  <a class="link" href="GtkSpinButton.html" title="GtkSpinButton">GtkSpinButton</a>,  <a class="link" href="GtkSpinner.html" title="GtkSpinner">GtkSpinner</a>,  <a class="link" href="GtkStack.html" title="GtkStack">GtkStack</a>,  <a class="link" href="GtkStackSidebar.html" title="GtkStackSidebar">GtkStackSidebar</a>,  <a class="link" href="GtkStackSwitcher.html" title="GtkStackSwitcher">GtkStackSwitcher</a>,  <a class="link" href="GtkStatusbar.html" title="GtkStatusbar">GtkStatusbar</a>,  <a class="link" href="GtkSwitch.html" title="GtkSwitch">GtkSwitch</a>,  <a class="link" href="GtkTable.html" title="GtkTable">GtkTable</a>,  <a class="link" href="GtkTearoffMenuItem.html" title="GtkTearoffMenuItem">GtkTearoffMenuItem</a>,  <a class="link" href="GtkTextTagTable.html" title="GtkTextTagTable">GtkTextTagTable</a>,  <a class="link" href="GtkTextView.html" title="GtkTextView">GtkTextView</a>,  <a class="link" href="GtkToggleAction.html" title="GtkToggleAction">GtkToggleAction</a>,  <a class="link" href="GtkToggleButton.html" title="GtkToggleButton">GtkToggleButton</a>,  <a class="link" href="GtkToggleToolButton.html" title="GtkToggleToolButton">GtkToggleToolButton</a>,  <a class="link" href="GtkToolButton.html" title="GtkToolButton">GtkToolButton</a>,  <a class="link" href="GtkToolItem.html" title="GtkToolItem">GtkToolItem</a>,  <a class="link" href="GtkToolItemGroup.html" title="GtkToolItemGroup">GtkToolItemGroup</a>,  <a class="link" href="GtkToolPalette.html" title="GtkToolPalette">GtkToolPalette</a>,  <a class="link" href="GtkToolbar.html" title="GtkToolbar">GtkToolbar</a>,  <a class="link" href="GtkTreeStore.html" title="GtkTreeStore">GtkTreeStore</a>,  <a class="link" href="GtkTreeView.html" title="GtkTreeView">GtkTreeView</a>,  <a class="link" href="GtkTreeViewColumn.html" title="GtkTreeViewColumn">GtkTreeViewColumn</a>,  <a class="link" href="GtkUIManager.html" title="GtkUIManager">GtkUIManager</a>,  <a class="link" href="GtkVBox.html" title="GtkVBox">GtkVBox</a>,  <a class="link" href="GtkVButtonBox.html" title="GtkVButtonBox">GtkVButtonBox</a>,  <a class="link" href="GtkVPaned.html" title="GtkVPaned">GtkVPaned</a>,  <a class="link" href="GtkVScale.html" title="GtkVScale">GtkVScale</a>,  <a class="link" href="GtkVScrollbar.html" title="GtkVScrollbar">GtkVScrollbar</a>,  <a class="link" href="GtkVSeparator.html" title="GtkVSeparator">GtkVSeparator</a>,  <a class="link" href="GtkViewport.html" title="GtkViewport">GtkViewport</a>,  <a class="link" href="GtkVolumeButton.html" title="GtkVolumeButton">GtkVolumeButton</a>,  <a class="link" href="GtkWidget.html" title="GtkWidget">GtkWidget</a> and  <a class="link" href="GtkWindow.html" title="GtkWindow">GtkWindow</a>.</p>
</div>
<div class="refsect1">
<a name="GtkBuildable.includes"></a><h2>Includes</h2>
<pre class="synopsis">#include &lt;gtk/gtk.h&gt;
</pre>
</div>
<div class="refsect1">
<a name="GtkBuildable.description"></a><h2>Description</h2>
<p>GtkBuildable allows objects to extend and customize their deserialization
from <a class="link" href="GtkBuilder.html#BUILDER-UI" title="GtkBuilder UI Definitions">GtkBuilder UI descriptions</a>.
The interface includes methods for setting names and properties of objects, 
parsing custom tags and constructing child objects.</p>
<p>The GtkBuildable interface is implemented by all widgets and
many of the non-widget objects that are provided by GTK+. The
main user of this interface is <a class="link" href="GtkBuilder.html" title="GtkBuilder"><span class="type">GtkBuilder</span></a>. There should be
very little need for applications to call any of these functions directly.</p>
<p>An object only needs to implement this interface if it needs to extend the
<a class="link" href="GtkBuilder.html" title="GtkBuilder"><span class="type">GtkBuilder</span></a> format or run any extra routines at deserialization time.</p>
</div>
<div class="refsect1">
<a name="GtkBuildable.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="gtk-buildable-set-name"></a><h3>gtk_buildable_set_name ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_buildable_set_name (<em class="parameter"><code><a class="link" href="GtkBuildable.html" title="GtkBuildable"><span class="type">GtkBuildable</span></a> *buildable</code></em>,
                        <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);</pre>
<p>Sets the name of the <em class="parameter"><code>buildable</code></em>
 object.</p>
<div class="refsect3">
<a name="gtk-buildable-set-name.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>buildable</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkBuildable.html" title="GtkBuildable"><span class="type">GtkBuildable</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>name</p></td>
<td class="parameter_description"><p>name to set</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2.12</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-buildable-get-name"></a><h3>gtk_buildable_get_name ()</h3>
<pre class="programlisting">const <span class="returnvalue">gchar</span> *
gtk_buildable_get_name (<em class="parameter"><code><a class="link" href="GtkBuildable.html" title="GtkBuildable"><span class="type">GtkBuildable</span></a> *buildable</code></em>);</pre>
<p>Gets the name of the <em class="parameter"><code>buildable</code></em>
 object. </p>
<p><a class="link" href="GtkBuilder.html" title="GtkBuilder"><span class="type">GtkBuilder</span></a> sets the name based on the
<a class="link" href="GtkBuilder.html#BUILDER-UI" title="GtkBuilder UI Definitions">GtkBuilder UI definition</a> 
used to construct the <em class="parameter"><code>buildable</code></em>
.</p>
<div class="refsect3">
<a name="gtk-buildable-get-name.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>buildable</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkBuildable.html" title="GtkBuildable"><span class="type">GtkBuildable</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-buildable-get-name.returns"></a><h4>Returns</h4>
<p> the name set with <a class="link" href="GtkBuildable.html#gtk-buildable-set-name" title="gtk_buildable_set_name ()"><code class="function">gtk_buildable_set_name()</code></a></p>
</div>
<p class="since">Since: 2.12</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-buildable-add-child"></a><h3>gtk_buildable_add_child ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_buildable_add_child (<em class="parameter"><code><a class="link" href="GtkBuildable.html" title="GtkBuildable"><span class="type">GtkBuildable</span></a> *buildable</code></em>,
                         <em class="parameter"><code><a class="link" href="GtkBuilder.html" title="GtkBuilder"><span class="type">GtkBuilder</span></a> *builder</code></em>,
                         <em class="parameter"><code><span class="type">GObject</span> *child</code></em>,
                         <em class="parameter"><code>const <span class="type">gchar</span> *type</code></em>);</pre>
<p>Adds a child to <em class="parameter"><code>buildable</code></em>
. <em class="parameter"><code>type</code></em>
 is an optional string
describing how the child should be added.</p>
<div class="refsect3">
<a name="gtk-buildable-add-child.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>buildable</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkBuildable.html" title="GtkBuildable"><span class="type">GtkBuildable</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>builder</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkBuilder.html" title="GtkBuilder"><span class="type">GtkBuilder</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>child</p></td>
<td class="parameter_description"><p>child to add</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>type</p></td>
<td class="parameter_description"><p>kind of child or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2.12</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-buildable-set-buildable-property"></a><h3>gtk_buildable_set_buildable_property ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_buildable_set_buildable_property (<em class="parameter"><code><a class="link" href="GtkBuildable.html" title="GtkBuildable"><span class="type">GtkBuildable</span></a> *buildable</code></em>,
                                      <em class="parameter"><code><a class="link" href="GtkBuilder.html" title="GtkBuilder"><span class="type">GtkBuilder</span></a> *builder</code></em>,
                                      <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>,
                                      <em class="parameter"><code>const <span class="type">GValue</span> *value</code></em>);</pre>
<p>Sets the property name <em class="parameter"><code>name</code></em>
 to <em class="parameter"><code>value</code></em>
 on the <em class="parameter"><code>buildable</code></em>
 object.</p>
<div class="refsect3">
<a name="gtk-buildable-set-buildable-property.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>buildable</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkBuildable.html" title="GtkBuildable"><span class="type">GtkBuildable</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>builder</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkBuilder.html" title="GtkBuilder"><span class="type">GtkBuilder</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>name</p></td>
<td class="parameter_description"><p>name of property</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>value</p></td>
<td class="parameter_description"><p>value of property</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2.12</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-buildable-construct-child"></a><h3>gtk_buildable_construct_child ()</h3>
<pre class="programlisting"><span class="returnvalue">GObject</span> *
gtk_buildable_construct_child (<em class="parameter"><code><a class="link" href="GtkBuildable.html" title="GtkBuildable"><span class="type">GtkBuildable</span></a> *buildable</code></em>,
                               <em class="parameter"><code><a class="link" href="GtkBuilder.html" title="GtkBuilder"><span class="type">GtkBuilder</span></a> *builder</code></em>,
                               <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);</pre>
<p>Constructs a child of <em class="parameter"><code>buildable</code></em>
 with the name <em class="parameter"><code>name</code></em>
.</p>
<p><a class="link" href="GtkBuilder.html" title="GtkBuilder"><span class="type">GtkBuilder</span></a> calls this function if a “constructor” has been
specified in the UI definition.</p>
<div class="refsect3">
<a name="gtk-buildable-construct-child.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>buildable</p></td>
<td class="parameter_description"><p>A <a class="link" href="GtkBuildable.html" title="GtkBuildable"><span class="type">GtkBuildable</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>builder</p></td>
<td class="parameter_description"><p><a class="link" href="GtkBuilder.html" title="GtkBuilder"><span class="type">GtkBuilder</span></a> used to construct this object</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>name</p></td>
<td class="parameter_description"><p>name of child to construct</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-buildable-construct-child.returns"></a><h4>Returns</h4>
<p>the constructed child. </p>
<p><span class="annotation">[<acronym title="The caller owns the data, and is responsible for free it."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
<p class="since">Since: 2.12</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-buildable-custom-tag-start"></a><h3>gtk_buildable_custom_tag_start ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gtk_buildable_custom_tag_start (<em class="parameter"><code><a class="link" href="GtkBuildable.html" title="GtkBuildable"><span class="type">GtkBuildable</span></a> *buildable</code></em>,
                                <em class="parameter"><code><a class="link" href="GtkBuilder.html" title="GtkBuilder"><span class="type">GtkBuilder</span></a> *builder</code></em>,
                                <em class="parameter"><code><span class="type">GObject</span> *child</code></em>,
                                <em class="parameter"><code>const <span class="type">gchar</span> *tagname</code></em>,
                                <em class="parameter"><code><span class="type">GMarkupParser</span> *parser</code></em>,
                                <em class="parameter"><code><span class="type">gpointer</span> *data</code></em>);</pre>
<p>This is called for each unknown element under &lt;child&gt;.</p>
<div class="refsect3">
<a name="gtk-buildable-custom-tag-start.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>buildable</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkBuildable.html" title="GtkBuildable"><span class="type">GtkBuildable</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>builder</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkBuilder.html" title="GtkBuilder"><span class="type">GtkBuilder</span></a> used to construct this object</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>child</p></td>
<td class="parameter_description"><p>child object or <code class="literal">NULL</code> for non-child tags. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>tagname</p></td>
<td class="parameter_description"><p>name of tag</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>parser</p></td>
<td class="parameter_description"><p>a <span class="type">GMarkupParser</span> to fill in. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>data</p></td>
<td class="parameter_description"><p>return location for user data that will be passed in
to parser functions. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-buildable-custom-tag-start.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> if a object has a custom implementation, <code class="literal">FALSE</code>
if it doesn't.</p>
</div>
<p class="since">Since: 2.12</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-buildable-custom-tag-end"></a><h3>gtk_buildable_custom_tag_end ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_buildable_custom_tag_end (<em class="parameter"><code><a class="link" href="GtkBuildable.html" title="GtkBuildable"><span class="type">GtkBuildable</span></a> *buildable</code></em>,
                              <em class="parameter"><code><a class="link" href="GtkBuilder.html" title="GtkBuilder"><span class="type">GtkBuilder</span></a> *builder</code></em>,
                              <em class="parameter"><code><span class="type">GObject</span> *child</code></em>,
                              <em class="parameter"><code>const <span class="type">gchar</span> *tagname</code></em>,
                              <em class="parameter"><code><span class="type">gpointer</span> *data</code></em>);</pre>
<p>This is called at the end of each custom element handled by 
the buildable.</p>
<div class="refsect3">
<a name="gtk-buildable-custom-tag-end.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>buildable</p></td>
<td class="parameter_description"><p>A <a class="link" href="GtkBuildable.html" title="GtkBuildable"><span class="type">GtkBuildable</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>builder</p></td>
<td class="parameter_description"><p><a class="link" href="GtkBuilder.html" title="GtkBuilder"><span class="type">GtkBuilder</span></a> used to construct this object</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>child</p></td>
<td class="parameter_description"><p>child object or <code class="literal">NULL</code> for non-child tags. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>tagname</p></td>
<td class="parameter_description"><p>name of tag</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>data</p></td>
<td class="parameter_description"><p>user data that will be passed in to parser functions. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> gpointer]</span></td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2.12</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-buildable-custom-finished"></a><h3>gtk_buildable_custom_finished ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_buildable_custom_finished (<em class="parameter"><code><a class="link" href="GtkBuildable.html" title="GtkBuildable"><span class="type">GtkBuildable</span></a> *buildable</code></em>,
                               <em class="parameter"><code><a class="link" href="GtkBuilder.html" title="GtkBuilder"><span class="type">GtkBuilder</span></a> *builder</code></em>,
                               <em class="parameter"><code><span class="type">GObject</span> *child</code></em>,
                               <em class="parameter"><code>const <span class="type">gchar</span> *tagname</code></em>,
                               <em class="parameter"><code><span class="type">gpointer</span> data</code></em>);</pre>
<p>This is similar to <a class="link" href="GtkBuildable.html#gtk-buildable-parser-finished" title="gtk_buildable_parser_finished ()"><code class="function">gtk_buildable_parser_finished()</code></a> but is
called once for each custom tag handled by the <em class="parameter"><code>buildable</code></em>
.</p>
<div class="refsect3">
<a name="gtk-buildable-custom-finished.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>buildable</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkBuildable.html" title="GtkBuildable"><span class="type">GtkBuildable</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>builder</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkBuilder.html" title="GtkBuilder"><span class="type">GtkBuilder</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>child</p></td>
<td class="parameter_description"><p>child object or <code class="literal">NULL</code> for non-child tags. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>tagname</p></td>
<td class="parameter_description"><p>the name of the tag</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>data</p></td>
<td class="parameter_description"><p>user data created in custom_tag_start</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2.12</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-buildable-parser-finished"></a><h3>gtk_buildable_parser_finished ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_buildable_parser_finished (<em class="parameter"><code><a class="link" href="GtkBuildable.html" title="GtkBuildable"><span class="type">GtkBuildable</span></a> *buildable</code></em>,
                               <em class="parameter"><code><a class="link" href="GtkBuilder.html" title="GtkBuilder"><span class="type">GtkBuilder</span></a> *builder</code></em>);</pre>
<p>Called when the builder finishes the parsing of a 
<a class="link" href="GtkBuilder.html#BUILDER-UI" title="GtkBuilder UI Definitions">GtkBuilder UI definition</a>. 
Note that this will be called once for each time 
<a class="link" href="GtkBuilder.html#gtk-builder-add-from-file" title="gtk_builder_add_from_file ()"><code class="function">gtk_builder_add_from_file()</code></a> or <a class="link" href="GtkBuilder.html#gtk-builder-add-from-string" title="gtk_builder_add_from_string ()"><code class="function">gtk_builder_add_from_string()</code></a> 
is called on a builder.</p>
<div class="refsect3">
<a name="gtk-buildable-parser-finished.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>buildable</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkBuildable.html" title="GtkBuildable"><span class="type">GtkBuildable</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>builder</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkBuilder.html" title="GtkBuilder"><span class="type">GtkBuilder</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2.12</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-buildable-get-internal-child"></a><h3>gtk_buildable_get_internal_child ()</h3>
<pre class="programlisting"><span class="returnvalue">GObject</span> *
gtk_buildable_get_internal_child (<em class="parameter"><code><a class="link" href="GtkBuildable.html" title="GtkBuildable"><span class="type">GtkBuildable</span></a> *buildable</code></em>,
                                  <em class="parameter"><code><a class="link" href="GtkBuilder.html" title="GtkBuilder"><span class="type">GtkBuilder</span></a> *builder</code></em>,
                                  <em class="parameter"><code>const <span class="type">gchar</span> *childname</code></em>);</pre>
<p>Get the internal child called <em class="parameter"><code>childname</code></em>
 of the <em class="parameter"><code>buildable</code></em>
 object.</p>
<div class="refsect3">
<a name="gtk-buildable-get-internal-child.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>buildable</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkBuildable.html" title="GtkBuildable"><span class="type">GtkBuildable</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>builder</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkBuilder.html" title="GtkBuilder"><span class="type">GtkBuilder</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>childname</p></td>
<td class="parameter_description"><p>name of child</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-buildable-get-internal-child.returns"></a><h4>Returns</h4>
<p>the internal child of the buildable object. </p>
<p><span class="annotation">[<acronym title="The data is owned by the callee, which is responsible of freeing it."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
<p class="since">Since: 2.12</p>
</div>
</div>
<div class="refsect1">
<a name="GtkBuildable.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="GtkBuildable-struct"></a><h3>GtkBuildable</h3>
<pre class="programlisting">typedef struct _GtkBuildable GtkBuildable;</pre>
</div>
<hr>
<div class="refsect2">
<a name="GtkBuildableIface"></a><h3>struct GtkBuildableIface</h3>
<pre class="programlisting">struct GtkBuildableIface {
  GTypeInterface g_iface;

  /* virtual table */
  void          (* set_name)               (GtkBuildable  *buildable,
                                            const gchar   *name);
  const gchar * (* get_name)               (GtkBuildable  *buildable);
  void          (* add_child)              (GtkBuildable  *buildable,
					    GtkBuilder    *builder,
					    GObject       *child,
					    const gchar   *type);
  void          (* set_buildable_property) (GtkBuildable  *buildable,
					    GtkBuilder    *builder,
					    const gchar   *name,
					    const GValue  *value);
  GObject *     (* construct_child)        (GtkBuildable  *buildable,
					    GtkBuilder    *builder,
					    const gchar   *name);
  gboolean      (* custom_tag_start)       (GtkBuildable  *buildable,
					    GtkBuilder    *builder,
					    GObject       *child,
					    const gchar   *tagname,
					    GMarkupParser *parser,
					    gpointer      *data);
  void          (* custom_tag_end)         (GtkBuildable  *buildable,
					    GtkBuilder    *builder,
					    GObject       *child,
					    const gchar   *tagname,
					    gpointer      *data);
  void          (* custom_finished)        (GtkBuildable  *buildable,
					    GtkBuilder    *builder,
					    GObject       *child,
					    const gchar   *tagname,
					    gpointer       data);
  void          (* parser_finished)        (GtkBuildable  *buildable,
					    GtkBuilder    *builder);

  GObject *     (* get_internal_child)     (GtkBuildable  *buildable,
					    GtkBuilder    *builder,
					    const gchar   *childname);
};
</pre>
<p>The <a class="link" href="GtkBuildable.html#GtkBuildableIface" title="struct GtkBuildableIface"><span class="type">GtkBuildableIface</span></a> interface contains method that are
necessary to allow <a class="link" href="GtkBuilder.html" title="GtkBuilder"><span class="type">GtkBuilder</span></a> to construct an object from
a <a class="link" href="GtkBuilder.html" title="GtkBuilder"><span class="type">GtkBuilder</span></a> UI definition.</p>
<div class="refsect3">
<a name="GtkBuildableIface.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="GtkBuildableIface.set-name"></a>set_name</code></em> ()</p></td>
<td class="struct_member_description"><p>Stores the name attribute given in the GtkBuilder UI definition.
<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> stores the name as object data. Implement this method if your
object has some notion of “name” and it makes sense to map the XML name
attribute to it.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="GtkBuildableIface.get-name"></a>get_name</code></em> ()</p></td>
<td class="struct_member_description"><p>The getter corresponding to <em class="parameter"><code>set_name</code></em>
. Implement this
if you implement <em class="parameter"><code>set_name</code></em>
.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="GtkBuildableIface.add-child"></a>add_child</code></em> ()</p></td>
<td class="struct_member_description"><p>Adds a child. The <em class="parameter"><code>type</code></em>
parameter can be used to
differentiate the kind of child. <a class="link" href="GtkContainer.html" title="GtkContainer"><span class="type">GtkContainer</span></a> implements this
to add add a child widget to the container, <a class="link" href="GtkNotebook.html" title="GtkNotebook"><span class="type">GtkNotebook</span></a> uses
the <em class="parameter"><code>type</code></em>
to distinguish between page labels (of type "page-label")
and normal children.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="GtkBuildableIface.set-buildable-property"></a>set_buildable_property</code></em> ()</p></td>
<td class="struct_member_description"><p>Sets a property of a buildable object.
It is normally not necessary to implement this, <code class="function">g_object_set_property()</code>
is used by default. <a class="link" href="GtkWindow.html" title="GtkWindow"><span class="type">GtkWindow</span></a> implements this to delay showing itself
(i.e. setting the <a class="link" href="GtkWidget.html#GtkWidget--visible" title="The “visible” property"><span class="type">“visible”</span></a> property) until the whole interface
is created.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="GtkBuildableIface.construct-child"></a>construct_child</code></em> ()</p></td>
<td class="struct_member_description"><p>Constructs a child of a buildable that has been
specified as “constructor” in the UI definition. <a class="link" href="GtkUIManager.html" title="GtkUIManager"><span class="type">GtkUIManager</span></a> implements
this to reference to a widget created in a &lt;ui&gt; tag which is outside
of the normal GtkBuilder UI definition hierarchy.  A reference to the
constructed object is returned and becomes owned by the caller.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="GtkBuildableIface.custom-tag-start"></a>custom_tag_start</code></em> ()</p></td>
<td class="struct_member_description"><p>Implement this if the buildable needs to parse
content below &lt;child&gt;. To handle an element, the implementation
must fill in the <em class="parameter"><code>parser</code></em>
and <em class="parameter"><code>user_data</code></em>
and return <code class="literal">TRUE</code>.
<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> implements this to parse keyboard accelerators specified
in &lt;accelerator&gt; elements. <a class="link" href="GtkContainer.html" title="GtkContainer"><span class="type">GtkContainer</span></a> implements it to map
properties defined via &lt;packing&gt; elements to child properties.
Note that <em class="parameter"><code>user_data</code></em>
must be freed in <em class="parameter"><code>custom_tag_end</code></em>
or <em class="parameter"><code>custom_finished</code></em>
.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="GtkBuildableIface.custom-tag-end"></a>custom_tag_end</code></em> ()</p></td>
<td class="struct_member_description"><p>Called for the end tag of each custom element that is
handled by the buildable (see <em class="parameter"><code>custom_tag_start</code></em>
).</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="GtkBuildableIface.custom-finished"></a>custom_finished</code></em> ()</p></td>
<td class="struct_member_description"><p>Called for each custom tag handled by the buildable
when the builder finishes parsing (see <em class="parameter"><code>custom_tag_start</code></em>
)</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="GtkBuildableIface.parser-finished"></a>parser_finished</code></em> ()</p></td>
<td class="struct_member_description"><p>Called when a builder finishes the parsing
of a UI definition. It is normally not necessary to implement this,
unless you need to perform special cleanup actions. <a class="link" href="GtkWindow.html" title="GtkWindow"><span class="type">GtkWindow</span></a> sets
the <a class="link" href="GtkWidget.html#GtkWidget--visible" title="The “visible” property"><span class="type">“visible”</span></a> property here.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="GtkBuildableIface.get-internal-child"></a>get_internal_child</code></em> ()</p></td>
<td class="struct_member_description"><p>Returns an internal child of a buildable.
<a class="link" href="GtkDialog.html" title="GtkDialog"><span class="type">GtkDialog</span></a> implements this to give access to its <em class="parameter"><code>vbox</code></em>
, making
it possible to add children to the vbox in a UI definition.
Implement this if the buildable has internal children that may
need to be accessed from a UI definition.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.33.1</div>
</body>
</html>